go/types.operand.expr (field)
71 uses
go/types (current package)
assignments.go#L66: check.updateExprVal(x.expr, val)
assignments.go#L70: check.updateExprType(x.expr, newType, false)
assignments.go#L221: if sel, ok := z.expr.(*ast.SelectorExpr); ok {
assignments.go#L225: check.errorf(&z, _UnaddressableFieldAssign, "cannot assign to struct field %s in map", ExprString(z.expr))
assignments.go#L337: at = rhs[len(lhs)].expr // report at first extra value
assignments.go#L340: at = rhs[len(rhs)-1].expr // report at last value
call.go#L27: x.expr = ix.Orig
call.go#L38: x.expr = ix.Orig
call.go#L47: x.expr = ix.Orig
call.go#L60: x.expr = ix.Orig
call.go#L108: x.expr = call.Fun
call.go#L119: x.expr = call
call.go#L152: x.expr = call
call.go#L161: x.expr = call
call.go#L178: x.expr = call
call.go#L191: x.expr = call
call.go#L202: x.expr = call
call.go#L232: x.expr = call
call.go#L258: xlist[i] = &operand{mode: value, expr: e, typ: v.typ}
call.go#L266: x2 := &operand{mode: value, expr: e, typ: Typ[UntypedBool]}
call.go#L361: at = args[npars].expr // report at first extra argument
call.go#L524: x.expr = e
call.go#L554: check.errorf(e.Sel, _AmbiguousSelector, "ambiguous selector %s.%s", x.expr, sel)
call.go#L584: check.errorf(e.Sel, _MissingFieldOrMethod, "%s.%s undefined (%s)", x.expr, sel, why)
call.go#L598: check.errorf(e.Sel, _MissingFieldOrMethod, "%s.%s undefined (type %s has no method %s)", x.expr, sel, x.typ, sel)
call.go#L718: x.expr = e
call.go#L723: x.expr = e
check.go#L419: assert(x.expr != nil && typ != nil)
check.go#L424: check.rememberUntyped(x.expr, false, x.mode, typ.(*Basic), val)
check.go#L426: check.recordTypeAndValue(x.expr, x.mode, typ, val)
conversions.go#L109: check.updateExprType(x.expr, final, true)
errors.go#L288: if x.expr != nil {
errors.go#L290: return posSpan{pos, pos, x.expr.End()}
expr.go#L113: check.errorf(atPos(opPos), _InvalidConstVal, "constant %s overflow", opName(x.expr))
expr.go#L215: x.expr = e
expr.go#L618: check.updateExprVal(x.expr, val)
expr.go#L622: check.updateExprType(x.expr, newType, false)
expr.go#L819: check.updateExprType(x.expr, Default(x.typ), true)
expr.go#L820: check.updateExprType(y.expr, Default(y.typ), true)
expr.go#L842: check.errorf(x, code, "invalid case %s in switch on %s (%s)", x.expr, y.expr, cause) // error position always at 1st operand
expr.go#L845: check.invalidOp(errOp, code, "%s %s %s (%s)", x.expr, op, y.expr, cause)
expr.go#L847: check.invalidOp(errOp, code, "cannot compare %s %s %s (%s)", x.expr, op, y.expr, cause)
expr.go#L989: x.expr = e
expr.go#L1019: if info, found := check.untyped[x.expr]; found {
expr.go#L1021: check.untyped[x.expr] = info
expr.go#L1073: x.expr = y.expr
expr.go#L1173: x.expr = e
expr.go#L1237: check.errorf(x.expr, _WrongTypeArgCount, "cannot use generic %s %s without instantiation", what, x.expr)
expr.go#L1532: x.expr = e
expr.go#L1620: x.expr = e
expr.go#L1650: x.expr = e
expr.go#L1655: x.expr = e
index.go#L100: x.expr = e.Orig
index.go#L174: x.expr = e
infer.go#L222: check.errorf(arg, _CannotInferTypeArgs, "%s %s of %s does not match %s (cannot infer %s)", kind, targ, arg.expr, tpar, typeParamsString(tparams))
infer.go#L234: check.errorf(arg, _CannotInferTypeArgs, "%s %s of %s does not match inferred type %s for %s", kind, targ, arg.expr, inferred, tpar)
infer.go#L236: check.errorf(arg, _CannotInferTypeArgs, "%s %s of %s does not match %s", kind, targ, arg.expr, tpar)
operand.go#L55: expr ast.Expr
operand.go#L66: if x.expr == nil {
operand.go#L69: return x.expr.Pos()
operand.go#L115: if x.expr != nil {
operand.go#L116: expr = ExprString(x.expr)
stmt.go#L605: x.expr = &ast.Ident{NamePos: s.Body.Lbrace, Name: "true"}
stmt.go#L897: x.expr = lhs // we don't have a better rhs expression to use here
stmt.go#L923: x.expr = lhs // we don't have a better rhs expression to use here
typexpr.go#L24: x.expr = e